Ballad for MIDI

Exercise Project

Check it!
  • Year: 2023
  • Team Size: 3
  • Time: 2 months
  • Employment Type: Part-time
Description

Ballad for MIDI is rhythm based action game, where the simple objective is to play for score. The player needs to avoid incoming bullets that are timed with a pre-recorded MIDI file, with the ability to technically make the game work based on any MIDI file. This, however, must be done in editor, with the feature not being available to the player on the exported game's files.

Contribution

This projected started as the final project for an optional ethnomusicology/music media class, with every group tasked with creating either a standard music related documentary, or, optionally, some type of mixed media centred around music. With two of the members being from a game's related background, and the third from a classically trained piano background, we went for the game route regarding the project. With the team quickly landing on a sort of visualizer that could respond to a music track, I eventually came up with the circular mapping of the bullets to the MIDI notes being played, in a similar fashion to Daniel Linssen's Breaker .

After homing in on the concept, work started regarding the MIDI parsing required for the game, with most of the code being adapted from a pre-existing Godot plugin. Other than that, regular game development was split between us two, computer aficionado members of the group, while the third element worked on the composition that would later be used. An accompanying video was also supposed to be played in sync, but he didn't manage to be able to record performance footage, making it so that the game ended up using stock footage. Lastly, regarding art direction, the game was planned to have a cluttered UI with meters and gauges in a Y2K fashion, but as time ran short, that extra mile fell through unfortunately :(

TLDR
  • MIDI visualizer turned game.
  • Developed in Godot.
  • Made for an ethnomusicology/music media class.
  • Developed the original concept and design.
  • Interfaced with MIDI protocol to get music information in the game.
  • Tackled general game development as well as art direction.

Gameplay Programming

Godot

Game Design

Git

UI/UX